Skip to main content

Rule Manager

The Rule Manager menu opens the panel where form or flow logic rules can be defined and managed through a visual condition-action interface. When a form or flow file is active, the Rule Manager panel allows you to:

  • Define dynamic behavior based on user input
  • Create conditions using IF/AND/OR/ELSE logic
  • Assign values, show/hide or enable/disable components
  • Set execution timing (OnChange, OnLoad, Manual)

Rule Manager

Learn how to create dynamic logic in forms and flows using the Rule Manager in Synergy IDE. This document explains Condition and Then blocks, execution timing, and rule behavior with examples.

Overview

The Rule Manager allows users to define dynamic behaviors in forms or flows using conditional logic. These rules help you manage visibility, value assignment, enable/disable states, and more based on user input or system triggers.

Each rule is structured in two parts:

  • Condition: Defines when the rule should be triggered.
  • Then: Defines what should happen if the condition is met.

Additional logical branching is possible using AND, OR, and ELSE blocks.

Accessing the Rule Manager

To access the Rule Manager:

  1. Go to the top menu and click View.
  2. Select Rule Manager.

If no rules exist, a message is shown to help you create a new one.

Creating a New Rule

Click the + New Rule button to open the rule design screen.

A rule consists of:

  • One or more Condition blocks (IF, AND, OR, ELSE)
  • One or more Then actions
  • Optionally, Else actions
  • Rule execution timing (OnChange, OnLoad, or Manual)
  • A custom name and description (recommended)

Condition Block

The Condition block defines logical criteria that must be met for the rule to activate.

Condition Types

  • IF: Main condition
  • AND: Adds strict condition
  • OR: Adds alternative paths
  • ELSE: Executes when other conditions are not met

Supported Components

ComponentPropertyExample Condition
TextBox.valueTextBox1.value == 'Admin'
NumberBox.valueNumberBox1.value > 100
CheckBox.valueCheckBox1.value == true
ComboBox.valueComboBox1.value != 'Active'
DatePicker.valueDatePicker1.value < Today()

Then Block

The Then block defines the actions that will be executed when the conditions are satisfied.

Supported Action Types

Action TypeDescription
Assign ValueSet a value to a component (e.g., TextBox.value)
Show / Hide ComponentToggle the visibility of UI elements
Enable / DisableMake inputs interactive or inactive
Clear FieldRemove existing data from input
Trigger ValidationForce a validation check
Show MessageDisplay an info message
Validation ErrorBlock submission and show error

Action Examples

Example

IF CheckBox1.value == true
THEN

  • TextBox1.visible = true
  • TextBox1.value = "Checked"
  • NumberBox1.disabled = false

Use + Add Action to add multiple actions to the same Then block.

ELSE Block

The ELSE block is used to define fallback actions when the IF condition is not satisfied.

Example with ELSE

IF NumberBox1.value > 100
THEN

  • TextBox2.value = "Limit Exceeded"

ELSE

  • TextBox2.value = ""

This ensures robust logic even for empty or invalid inputs.

Execution Timing

Rules can be executed based on different events. You can choose the timing at the bottom of the rule editor.

Available Timing Options

Timing TypeDescription
OnChangeExecutes when the input value changes
OnLoadExecutes when the form is opened
ManualExecutes via script or system event

Nested Logic Example

You can chain multiple conditions and actions using nested logic:

IF ComboBox1.value == "Manager"
AND CheckBox1.value == true
THEN

  • TextBox1.visible = true
  • NumberBox1.disabled = false

ELSE

  • TextBox1.visible = false

Visual Example

IF NumberBox1.value > 50
THEN

  • TextBox1.visible = true
  • TextBox1.value = "Limit Exceeded"

ELSE

  • TextBox1.visible = false

This behavior is configured using the visual Rule Editor.

Best Practices

Use descriptive rule names (e.g., Show Approval Button for Manager)
Use ELSE blocks for fail-safe behavior
Avoid circular logic where the same field is both trigger and target
Group related conditions to improve readability

Example 1: Show/Hide with CheckBox

IF NumberBox1.value == 50
THEN

  • TextBox2.visible = CheckBox1.value

Use case: Show or hide a field based on checkbox state.

Example 2: Assign Static Value on Condition

IF NumberBox1.value > 100
THEN

  • TextBox2.value = "Limit Exceeded"

ELSE

  • TextBox2.value = ""

Use case: Show a message based on threshold values.

FAQs

How To's